Image processing apparatus, method and recording medium therefor

ABSTRACT

The invention intends, in the storage of image information with a predetermined image storage format, to add predetermined information to the input image matching such storage format.  
     There is disclosed a configuration which generates plural image data of mutually different resolution levels, representing a same input image, and adding the predetermined information to each of the images of the plural resolution levels in a manner inconspicuous to the human eyes.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an image processing apparatus for adding predetermined information to an input image, and a method and a storage medium therefor.

[0003] 2. Related Background Art

[0004] There is conventionally known a technology for adding, to an input image, the manufacturing number of a copying apparatus which is used for processing such image, as disclosed for example in the Japanese Patent Laid-open Application No. 5-244389. Such technology is effective in tracing the origin of the image from a reproduced image.

[0005] On the other hand, there have recently been proposed various memory formats for storing image information.

[0006] In such memory formats, however, there has not sufficiently been considered a method of adding certain information in a manner inconspicuous or invisible to the human eyes. For this reason, it has not been possible, for example in case of storing plural image data files of mutually different resolution levels representing a same input image, to add the information associated with the image data in a suitable method.

[0007] Also it has not been possible, for example in case of dividing the input image into plural areas and storing the image information in the unit of such divided area, to add the information associated with the image information in a suitable method.

[0008] Also in the conventional formats for image storage, in case of adding certain information in a manner inconspicuous or invisible to the human eyes, there has not sufficiently been considered the data format to be taken for the image including such added information. For this reason, the added information may be deteriorated or may become unreproducible for example by the influence of subsequent data compression.

SUMMARY OF THE INVENTION

[0009] An object of the present invention is to provide an image processing apparatus, a method and a storage medium therefor, capable of individually or entirely solving the drawbacks mentioned in the foregoing.

[0010] Another object of the present invention is, under the above-mentioned object, to enable, in storing image information with a predetermined image storage format, the addition of predetermined information to the input image with a method suitable for such storage format.

[0011] Still another object of the present invention is, under the above-mentioned object, to enable, in adding predetermined information to the input image, the storage of image taking such addition of information into consideration.

[0012] The above-mentioned objects can be attained, according to a preferred embodiment of the present invention, by an image processing apparatus comprising:

[0013] a division unit for dividing an input image into plural areas;

[0014] a selection unit for selecting the storage format of the image data representing the input image in the unit of each of the divided areas;

[0015] conversion means for converting the image data into the above-mentioned storage format; and

[0016] addition means for adding predetermined information to the input image in the unit of each of the divided areas.

[0017] Still another object of the present invention is to provide an image processing apparatus, a method and a storage medium therefor, having a novel function or a novel mode of adding information to the given image information.

[0018] Still other objects of the present invention, and the features thereof, will become fully apparent from the following description of embodiments to be taken in conjunction with the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is a view showing the storage format embodying the present invention;

[0020]FIGS. 2 and 3 are views showing the configuration of an image file in the storage format embodying the present invention;

[0021]FIG. 4 is a view showing an example of the image file composed of plural images of different resolution levels;

[0022]FIG. 5 is a view showing an example of tile division;

[0023]FIG. 6 is a view showing an example of distribution of data formats in the tiles after tile division of the image;

[0024]FIG. 7 is a view showing an example of the hardware configuration embodying the present invention;

[0025]FIG. 8 is a flow chart showing the procedure of file preparation;

[0026]FIG. 9 is a flow chart showing the procedure of formatting of image information;

[0027]FIG. 10 is a flow chart showing the procedure of development into pixel data;

[0028]FIG. 11 is a flow chart showing the procedure of color space conversion;

[0029]FIG. 12 is a flow chart showing the procedure of resolution level 0;

[0030]FIG. 13 is a flow chart showing the procedure of a reduction process;

[0031]FIGS. 14 and 15 are flow charts showing the procedure of a watermark insertion process;

[0032]FIG. 16 is a flow chart showing the procedure of a process for each tile;

[0033]FIG. 17 is a flow chart showing the procedure of a resolution level 0 process;

[0034]FIGS. 18, 19, 20, 21 and 22 are views showing examples of watermark insertion;

[0035]FIG. 23 is a flow chart showing the procedure of a resolution level 0 process;

[0036]FIG. 24 is a flow chart showing the procedure of tile attribute detection and data format determination; and

[0037]FIG. 25 is a flow chart showing the procedure of a process for each tile.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0038] Now the present invention will be clarified in detail by preferred embodiments thereof, with reference to the attached drawings.

[0039] At first there will be given an explanation on the storage format.

[0040] 1. File Structure

[0041] (1) The storage format of the present embodiment is composed of objects of two types, namely a directory (shaded in FIG. 1) and a file (non-shaded).

[0042] In an example shown in FIG. 1, a directory 1 constitutes a root directory, constituting the highest hierarchy in the storage format. The directory 1 includes two directories (directories 2, 3) and a file (file 1). The directory 2 includes an empty directory 4, and the directory 3 includes two files (files 2, 3).

[0043] The image information and the image attribute information are stored in a structure constituted by the above-mentioned two objects.

[0044] (2) Configuration of Image File

[0045] As shown in FIG. 2, each image file (20) contains following components:

[0046] (a) First Attribute Information (21)

[0047] Summary information of the object image, including the format ID, title, producer, keyword, comment, final owner, revision number (number of times of savings of the object), total editing time, date and time of final print, date and time of original preparation, date and time of final storage, thumbnail attribute, and application used for preparation;

[0048] (b) Second Attribute Information (22)

[0049] General information on the object of storage, including the heater, user type, clipboard format etc.;

[0050] (c) Third Attribute Information (23)

[0051] Information on the output image including the list of locked properties, image title after conversion, final editor, output image index, largest image index, largest conversion item index, largest operation index etc.;

[0052] (d) Source Image Object (24)

[0053] It consists of image information of the source image and attribute information thereof, as will be explained later;

[0054] (e) Image Object after Conversion (25)

[0055] It consists of image information and attribute information, obtained by applying a predetermined conversion process to the source image, and is structured similar to the source image object;

[0056] (f) Fourth Attribute Information (26)

[0057] Additional information of the original image or the image after conversion, including, on the source image object or on the converted image object, at least one or more of the image ID, list of locked properties, title, final editor, revision number, date and time of preparation, date and time of final correction, application used in preparation, status, number of conversions, list of conversion processes, height/width of the contained image etc.;

[0058] (g) Fifth Attribute Information (27)

[0059] Attribute information on the conversion of the source image information, including at least one or more of the conversion item ID, operation class ID, list of locked properties, conversion title, final corrector, revision number, date and time of preparation, date and time of final correction, application used for preparation, input data list, output data list, operation number, aspect ratio of process result, observed rectangular area, filtering geometric calculation, color conversion matrix, contrast adjustment etc.; and

[0060] (h) Sixth Attribute Information (28)

[0061] Information for specifying the software for executing the conversion.

[0062] (3) Configuration of Image Object (30)

[0063] The above-mentioned source image object (24) and converted image object (25) include following components:

[0064] (a) Seventh Attribute Information (31)

[0065] Summary information of each object, including at least one or more of the format ID, title, producer, keyword, comment, final owner, revision number (number of times of savings of the object), total editing time, date and time of final print, date and time of original preparation, date and time of final storage, thumbnail image, thumbnail attribute, and application used for preparation;

[0066] (b) Eighth Attribute Information (32)

[0067] General information on the object of storage, including the header, user type, clipboard format etc.;

[0068] (c) Ninth Attribute Information (33)

[0069] Attribute information on the method of storage of the image information, including the number of resolutions of the object image, width and height of the image of the maximum resolution, default width and height of the image display, unit of width and height of the image display, width, height, color and format of the sub image, reducing method (method of preparation of the image of plural resolutions), width of the reduction prefilter, color processing profile of the sub image, compression parameters (quantization table data of Huffman table data SOI, DQT, DHT, HOI in the JPEG compression) etc.;

[0070] (d) Tenth Attribute Information (34)

[0071] Information associated with the image information, including the file source (original device of image, scene type, image preparation history, software used for preparation, user defined ID, sharpness), intellectual property (copyright indication, original image ownership, digital image ownership, producer, remarks), content description information (proofing data in image, description on image group, description on the title or object of image, description on the person in the image, description on the object in the image, date of original image, description on the event in the image, description on the location in the image, remarks), information on the camera used for image taking (camera maker name, camera model, camera manufacturing number), information on the setting of the camera at image taking (date and time of image taking, shutter speed, diaphragm stop, exposure program, luminance value (BV value), exposure correction, image taking distance, light metering mode, light source, focal length, fully open aperture value, flash, guide number, flush confirmation, backlighting, position of object, frame number, special effect filter, remarks), digital camera characteristics (kind of image sensor, X-resolution on the focal plane, Y-resolution on the focal plane, unit of resolution on the focal plane, spatial frequency characteristics, color filter array pattern, spectral sensitivity, ISO speed rating, OECF), film information (film brand, film category, film size, film roll number, film frame number), descriptive information on original document scanning in case the original is a book or a printed matter (original scanning image size, original document size, original medium, kind of original), scanning device information (scanner maker, scanner model, manufacturing number, scanner software, scanner software version number, scanning service company name, scanning person ID, scanning date, date and time of final proofing, scanner pixel size) etc., namely the information usable at the use of image such as how the image has been fetched and how the image can be utilized.

[0072] (e) Image Information

[0073] It is composed, for a same image, image data (sub image data) 36, 39, 42 of plural resolution levels (35, 38, 41) and headers 37, 40, 43 of the sub image data of respective resolution levels.

[0074] Instead of having the images of plural resolution levels, the file may also be composed of the image data of maximum resolution and the header thereof.

[0075] The headers 37, 40, 43 contain the length of header stream, width and height of the image, number of tiles to be explained later, width and height of tile, number of channels, offset of tile header table, length of tile header entry, tile header table (consisting of tile offset, tile size, compression type and compression sub title).

[0076] The tile offset indicates the position of the tile, while the time size indicates the amount of data in the tile, the compression type indicates whether the tile data are non-compressed image data, a single color, JPEG compressed image data or lack effective image data, and the compression sub type indicates the color in case of single-color data, or the interleaving type, chroma sub sampling method, presence/absence of internal color conversion and presence/absence of change in the JPEG table in case of JPEG compression.

[0077]FIG. 4 shows an example of the image file consisting of plural images of different resolution levels. In FIG. 4, an image 40 of the maximum resolution is composed of X0 columns and Y0 rows, while an image 41 of the second largest resolution is composed of X0/2 columns×Y0/2 rows. Thereafter the numbers of columns and rows are both reduced to ½ in succession until those of columns and rows become respectively equal to or less than M and N, and the images are memorized down to an image 42 of the minimum resolution.

[0078] Because of such hierarchic structure, there are required “number of hierarchic layers in an image file” in the attribute information of the image, and the header information and the image information for the image in each hierarchic layer. The information on the number of hierarchic layers in an image filed, the width and height of the image of maximum resolution, the width, height, color configuration, compression method etc. of the image of each resolution are described as the aforementioned first attribute information 21.

[0079] As shown in FIG. 5, the image of each resolution layer is divided into tiles each consisting of M×N pixels. When the image is divided into the tiles of M×N pixels starting from the upper left corner, a blank portion may be generated in a part of the tiles at the right-hand end and/or at the lower end (indicated by a hatched area).

[0080] In such case the tile of M×N pixels is completed by inserting the pixel at the right-hand end or at the lower end repeatedly.

[0081] The image of each tile is memorized in a data format of JPEG compression, single color or non compression. The JPEG compression is an image compressing method of international standard defined by ISO/IEC JTC1/SC29. The single color is a data format, in case an entire tile is substantially composed of a single color, of representing the color of the tile by a single color instead of memorizing the individual pixel values. This data format is effective particularly for an image generated by computer graphics.

[0082] The image data divided into the tile as explained in the foregoing are stored in the sub image data file, and the total number of tiles, the size of each tile, the data start position, the data format etc. are stored in the sub image header.

[0083]FIG. 6 shows an example of the distribution of data formats of the tiles when the images 40, 41, 42 in FIG. 5 are divided into tile images 50, 51, 52. In FIG. 6, the attribute 1 indicates a non-compressed image, the attribute 2 indicates a JPEG compressed image and the attribute 3 indicates a single color.

[0084] Once the attribute is determined for each tile of the image of a resolution level 0, the attribute of each of the images of the resolution levels 1 to n can be easily determined according to a predetermined rule.

[0085] For example, in case all of the four tiles of the resolution level 0, corresponding to a tile of the resolution level 1, have the attribute 1 (non-compressed image), such tile can be defined to have the attribute 1. Also if all the four tiles have the attribute 3 (single color), the tile of the resolution level 1 can be defined to have the attribute 3. In case any of the four tiles has the attribute 2, the tile of the resolution level 1 can be defined to have the attribute 2, and, if the four tiles have the attributes 1 and 3, the tile of the resolution level 1 can be defined to have the attribute 1.

[0086] 2. Hardware Configuration

[0087] An example of the hardware configuration in the present embodiment is shown in FIG. 7.

[0088] There are shown a CPU 70 for executing the process sequence to be explained later; a RAM 71 used for example as a work area for the CPU 70; a ROM 72 storing the programs to be executed by the CPU; an operation unit 73 including a display unit and used as a user interface; a hard disk 74 for storing data of the above-described data formats; a removable disk 75 such as a CD-R, a DVD-RAM or a floppy disk for storing data of the above-described data formats; an input interface 76 consisting of a bidirectional interface for entering image information and other information from an input device 77 such as an image scanner, a digital camera, a digital video camera or the like; and an output interface 78 consisting of a bidirectional interface for outputting information to an external device through communication means such as a network 79.

[0089] 3. Preparation of Image File

[0090] Now there will be explained an example of the procedure for preparing the image file described above.

[0091]FIG. 8 shows the basic procedure executed by the CPU shown in FIG. 7.

[0092] A step S1 enters the image information from the input device 77 such as an image scanner, a digital camera or a digital video camera through the input interface 76.

[0093] A step S2 enters information associated with the image information and constituting the basis of the first to tenth attribute information described above. The entry is executed manually through the input interface 76 or the operation unit 73.

[0094] A step S3 formats the image information, entered in the step S1, into the image file format of the above-described structure.

[0095] A step S4 formats the attribute information, entered in the step S2, into the image file format of the above-described structure.

[0096] A step S5 stores the formatted image and attribute information in the hard disk 74 or the removable disk 75.

[0097] In the following there will be explained, with reference to FIG. 9, the formatting procedure of the image information in the step S3 in FIG. 8.

[0098] A step S10 develops the entered image information into image data of respective pixels. The image data of respective pixels are prepared by an expansion process in case the image information is entered in a compressed format such as JPEG compression, or a development process in case of entry in the PDL codes. Also in case the size of the entered image information has to be changed, the size conversion is achieved by trimming or zooming. This step is skipped if these processes are unnecessary.

[0099] If the color space of the pixel data needs to be converted, a step S20 executes a color space conversion into any of predetermined color spaces such as RGB (additive primary colors) space and YCC (luminance and chromaticity) space.

[0100] A step S30 executes formatting for the image of maximum resolution, namely resolution level 0, as will be explained later in more details. The subsequent steps are not executed in case the image information is formatted only in the maximum resolution level.

[0101] A step S40 reduces the resolution to a half. The method of reduction is formatted as the ninth attribute described above.

[0102] A step S50 executes formatting for thus prepared image of the resolution level 1.

[0103] A step S60 executes a reduction process similar to that in the step S40.

[0104] The reduction and the formatting are thereafter repeated in a similar manner, and a step S70 terminates the process by executing the formatting for the image of the resolution level n.

[0105] In the following there will be explained, with reference to FIG. 10, the procedure of development into the pixel data, in the step S10 in FIG. 9.

[0106] A step S110 discriminates whether the entered image information is non-compressed pixel data, and the sequence jumps to a step S170 if the entered image information is non-compressed pixel data and does not require the development process.

[0107] A step S120 discriminates whether the entered image information is encoded data, and, if so, a step S140 executes decoding.

[0108] A step S130 discriminates whether the entered image information is command data such as PDL, and, if so, a step S150 executes development of the command.

[0109] If the entered image information is data of any other format and requires a process matching such format, a step S160 executes such process.

[0110] A step S170 adjust the number of bits per pixel and the image size.

[0111] In the following there will be explained, with reference to FIG. 11, the procedure of color space conversion in the step S20 in FIG. 9.

[0112] A step S210 presets a color space in manual manner through the operation unit 73.

[0113] A step S220 discriminates whether the color space of the entered image information coincides with the color space set in the step S210, and, in case of no coincidence, a step S230 executes the conversion of the color space.

[0114] In the following there will be explained, with reference to FIG. 12, the procedure for the image of the resolution level 0 in the step S20 in FIG. 9.

[0115] A step S310 divides the image into tiles, each of M×N pixels.

[0116] A step S320 detects the attribute of the image of each of the divided tiles. For example a tile containing a character or a fine line is defined as a character/fine line tile; a tile containing relatively important information such as a human face is defined as an important tile; a tile of which all pixels are of same data (or if only a very limited number of pixels is different in value) is defined as a single color tile; and any other tile is defined as a halftone tile.

[0117] A step S330 determines the data format of the tile according to the detected attribute. For example, the character/fine line tile and the important tile mentioned above are determined as the non-compression of the attribute 1, the halftone tile is determined as the JPEG compression of the attribute 2, and the single color tile is determined as the single color of the attribute 3.

[0118] A step S340 processes the image data of each tile so as to attain the determined data format.

[0119] The foregoing procedure is basically applicable, in a similar manner, to the formatting of the images of the resolution level 1 to n.

[0120] In the following there will be explained, with reference to FIG. 13, the procedure of reduction in the step S40 in FIG. 9.

[0121] A step S410 presets the reduction method in manual manner through the operation unit 73.

[0122] A step S420 executes reduction on the image data of the original resolution, by thus set reduction method.

[0123] 4. Insertion of Watermark

[0124] Now there will be explained the method of adding a watermark to the image in the present embodiment.

[0125] The watermark means information related to the image information of the above-described image file and so added to the image information as to be invisible or inconspicuous to the human eyes. The first to tenth attribute information mentioned in the foregoing may be inserted as the watermark mentioned above.

[0126] An example of the method of inserting the watermark will be explained in the following.

[0127] (1) FIG. 14 shows the procedure of a watermark inserting method I, which inserts the watermark information into the object image in a real image space.

[0128] A step S510 selectively reads the attribute information of the above-described file format, stored in the hard disk 74 or the removable disk 75 such as a CD-R, a DVD-RAM or a floppy disk and usable as the watermark information.

[0129] A step S520 effects enciphering on the extracted watermark information, and such enciphering can be achieved in various methods, such as a known conversion utilizing a random number table. Also the present invention is not limited by the enciphering method.

[0130] A step S530 converts the enciphered watermark information, together with the pixels, into pattern data.

[0131] A step S540 utilizes the obtained image data of the watermark information for mutual calculation with the image data of the object image in the real image space, thereby embedding the watermark information in the object image.

[0132] The mutual calculation can for example an addition or a multiplication. In any calculation, the amplitude (dynamic range) of the watermark information is made sufficiently smaller than that of the object image, whereby the watermark information is added in inconspicuous manner to the human eyes.

[0133] Also the color component of the watermark information to be added is selected as the B component of the RGB (additive primary color) data or the chromaticity component of the YCC (luminance and chromaticity) data, so as that the deterioration in image quality is not easily recognized by the human eyes.

[0134] (2) FIG. 15 shows the procedure of a watermark inserting method II, which inserts the watermark information into the object image in the frequency space.

[0135] A step S610 selectively reads the attribute information of the above-described file format, stored in the hard disk 74 or the removable disk 75 such as a CD-R, a DVD-RAM or a floppy disk.

[0136] A step S620 effects enciphering on the extracted watermark information, and such enciphering can be achieved in various methods, such as a known conversion utilizing a random number table.

[0137] A step S630 converts the enciphered watermark information, together with the pixels, into pattern data.

[0138] A step S640 converts the obtained image data of the watermark information into frequency components for example by orthogonal transformation.

[0139] A step S650 converts the image data of the object image into frequency components for example by orthogonal transformation.

[0140] A step S660 synthesizes the image data of the object image and the enciphered watermark information in the real image space, thereby embedding the watermark information into the object image.

[0141] A step S670 executes inverse conversion of the synthesized image into the real image data.

[0142] (3) There will be explained, with reference to FIG. 16, the procedure of above-explained watermark insertion into the image data of the resolution level 1.

[0143] In the present embodiment, for inserting the watermark, the process for the image data of each tile, in the step S340 in FIG. 12, is conducted in the following manner.

[0144] A step S1000 discriminates whether the data format is in the attribute 1, and if so, a step S1010 inserts the watermark in the above-described method I.

[0145] A step S1020 discriminates whether the data format is in the attribute 2, and, if so, a step S1030 inserts the watermark in the above-described method II, and a step S1040 executes block encoding. If the block encoding is conducted by a method employing orthogonal transformation such as the JPEG encoding, the inverse conversion in the step S670 in FIG. 15 can be omitted and the frequency components can be directly subjected to quantization and Huffman encoding.

[0146] As explained in the foregoing, the watermark inserting method is selected according to the memory format of the image data, whereby the watermark can be inserted in a manner appropriate for each format.

[0147] In case the step S1020 identifies that the data format is not in the attribute 2, the tile is identified as in the attribute 3 and the representative value of the tile is extracted. In such case, the watermark is not inserted in the tile of this attribute.

[0148] The foregoing process is repeated for all the tiles.

[0149] The watermark is inserted with the content and the method same as in the foregoing, also for the images of the resolution levels 2 to (n−1).

[0150] On the other hand, for the image of the resolution level n, the watermark is inserted in a procedure shown in FIG. 17.

[0151] More specifically, as the image data of the resolution level n can have only one attribute, the watermark is inserted by the above-described method I.

[0152] As the watermark information is added in the present embodiment in the unit of a tile of M×N pixels, the watermark information is so selected that it is accommodated in a size of M×N pixels after enciphering and pattern development.

[0153] FIGS. 18 to 22 show examples of the content of the watermark information to be inserted and the arrangement thereof.

EXAMPLE 1 OF WATERMARK INSERTION

[0154]FIG. 18 shows an example of the tile as in FIG. 6, wherein a indicates the information to be inserted as the watermark. The content of the information a can be any or all of the aforementioned first to tenth attribute information, for example the name of producer of the original image and the date of preparation thereof.

[0155] In the example shown in FIG. 18, the information a is commonly inserted in the tiles of all the hierarchic layers.

[0156] In this example, as the common information is inserted in all the tiles of all the hierarchic layers, the name of the producer of the original image and the preparation date thereof can be obtained from the image of any layer so that the information source of the image data can be securely identified.

EXAMPLE 2 OF WATERMARK INSERTION

[0157]FIG. 19 shows an example of the watermark insertion as in FIG. 18.

[0158] In FIG. 19, a and b respectively indicate information to be inserted as the watermark. The content of the information a can be any or all of the aforementioned first to tenth attribute information, preferably a part thereof, for example the name of producer of the original image and the date of preparation thereof, while the content of the information b can be any or all of the aforementioned first to tenth attribute information, for example the name of the final storing person and the date and time of final storage.

[0159] In the example shown in FIG. 19, the insertion of the information a or b is switched according to the hierarchic layer.

[0160] Such arrangement allows to increase the kind and the amount of the information to be inserted, according to the increase in the number of hierarchic layers.

EXAMPLE 3 OF WATERMARK INSERTION

[0161]FIG. 20 shows an example of the watermark insertion as in FIG. 18.

[0162] In FIG. 20, a and b respectively indicate information to be inserted as the watermark. The content of the information a can be selected among the aforementioned first to tenth attribute information, for example the name of producer of the original image and the date of preparation thereof, while the content of the information b can be, among the aforementioned first to tenth attribute information, for example the name of the final storing person and the date and time of final storage.

[0163] In the example shown in FIG. 20, the information a and b are switched according to the tile position within the same hierarchic layer. The information a and b are alternately inserted in such a manner that same information is not present in mutually adjacent tiles.

[0164] Such arrangement of switching the information a and b according to the tile position within the same hierarchic layer allows to increase the kind and the amount of the information to be inserted, for a same number of the hierarchic layers, and to obtain the information of plural kinds from the images of mutually adjacent plural tiles.

EXAMPLE 4 OF WATERMARK INSERTION

[0165]FIG. 21 shows an example of the watermark insertion as in FIG. 18.

[0166] In FIG. 21, a, b, c, d, e and f respectively indicate information to be inserted as the watermark. The content of the information a can be, among the aforementioned first to tenth attribute information, for example the name of producer of the original image and the date of preparation thereof; the content of the information b can be for example the name of the final storing person and the date and time of final storage, the content of the information c can be for example the name of the application used in the preparation; the content of the information d can be for example the keyword and the comments; the content of the information e can be for example the method of image information storage such as the compression parameters (in case of JPEG compression, quantization table data or Huffman table data such as SOI, DQT, DHT, EOI etc.); and the content of the information f can be for example the ID information of the device employed in the image input.

[0167] In the example shown in FIG. 21, the information are switched according to the tile position with the same hierarchic layer, in such a manner that same information is not present in mutually adjacent tiles. Also the kind and amount of the inserted information are made larger for the higher resolution level and smaller for the lower resolution level.

[0168] Such arrangement of switching the inserted information according to the tile position within the same hierarchic layer allows to increase the kind and the amount of the information to be inserted, for a same number of the hierarchic layers, and to obtain the information of plural kinds from the images of mutually adjacent plural tiles. Also the kind and the amount of the inserted information can be made larger for the higher resolution level.

EXAMPLE 5 OF WATERMARK INSERTION

[0169]FIG. 22 shows an example of the watermark insertion as in FIG. 18, wherein a indicates information to be inserted as the watermark. The content of the information a can be, among the aforementioned first to tenth attribute information, for example the name of producer of the original image and the date of preparation thereof.

[0170] In the example shown in FIG. 22, the information a is inserted into the tiles of a specified hierarchic layer.

[0171] This example, in which the watermark is not inserted in all the layers but in a selected layer only, allows to insert the watermark in the images of the important layers, whereby the name of the producer of the original image and the preparation date hereof can be obtained from such image to securely identify the information source of the image data, while the process efficiency can be improved as the watermark insertion is not required for other images.

[0172] [Variation 1]

[0173] The foregoing embodiment employs plural watermark inserting methods, but there may be employed only one inserting method.

[0174] More specifically, all the watermarks may be inserted by the inserting method I or II. The use of a common watermark inserting method allows to simplify the software or the hardware for watermark insertion.

[0175] Also the intensity of watermark insertion may be made different in different layers, even by employing a same inserting method.

[0176] For example, the watermark inserted in the image data of a high resolution level is so formed, in the mutual calculation with the image data of the object image, that the pattern data of the watermark information assume relatively small values in order to prevent the deterioration of the image quality, and the watermark inserted in the image data of a low resolution level is so formed, in the mutual calculation with the image data of the object image, that the pattern data of the watermark information assume relatively large values in order to prevent the deterioration of the watermark information.

[0177] Such watermark inserting method, selected according to the hierarchic level of the image data, allows to insert the intensity matching the resolution level of the image data.

[0178] [Variation 2]

[0179] Also the watermark inserting method may be switched according to the resolution level.

[0180] For example, there may be employed the aforementioned inserting method I for the image of the resolution level 0, and the inserting method II for the images of other levels. Such method allows to promptly insert the watermark with a relatively simple algorithm for the image of a high resolution level with a large data amount.

[0181] [Variation 3]

[0182] In the foregoing embodiments, the watermark is inserted in all the tiles according to the memory format of the image data, but it is also possible to insert the watermark in a part of the tiles of the object image, by periodically or randomly selecting the tiles in which the watermark is inserted.

[0183] Such arrangement allows to suppress the deterioration of the image quality resulting from the watermark insertion.

[0184] As explained in the foregoing, the embodiments of the present invention allow, in storing the image information with a predetermined image storage format, to add predetermined information to the input image with a method matching the storage format.

[0185] In the following there will be explained still another embodiment of the present invention, which is shown in FIG. 23 as a variation of the embodiment shown in FIG. 12.

[0186]FIG. 23 shows the procedure of the present embodiment on the image of the resolution level 0 in the step S20 shown in FIG. 9.

[0187] A step S1310 inserts the watermark into the object image, in a method to be explained later.

[0188] A step S1320 divides the image into tiles, each having a size of M×N pixels.

[0189] A step S1330 detects the attribute of the image of the divided tile.

[0190] A step S1340 determines the data format according to the detected attribute.

[0191] A step S1350 processes the image data of each tile so as to assume the determined data format.

[0192] The procedure described above can also be basically applied in a similar manner to the formatting of the images of the resolution levels 1 to no.

[0193] Now reference is made to FIG. 24 for explaining the detection of the attribute of the tile and the determination of the data format.

[0194] A step S710 discriminates whether the watermark is inserted in the tile, and, if inserted, the data format is defined as the attribute 1 (step S720).

[0195] A step S730 defines an important tile if the tile contains a character, a fine line or a relatively important information such as a human face, and the data format is defined as the non-compression attribute 1 (step S720).

[0196] A step S740 defines a single color tile if all pixels of the tile are of same data (or if only a very limited number of pixels is different in value) and the data format is defined as the single color attribute 3 (step S760). Any other tile is defined as a halftone tile, with the JPEG compression attribute 2 (step S750).

[0197] In the following there will be explained, with reference to FIG. 25, the procedure of inserting the watermark into the image data of the resolution level 0.

[0198] In the present embodiment, the process on the image data of each tile in the step S340 in FIG. 23 is conducted in the following manner to the watermark insertion.

[0199] A step S2000 discriminates whether the data format is in the attribute 1, and, if so, the process is skipped as the image data are not compressed.

[0200] A step S2010 discriminates whether the data format is in the attribute 2, and, if so, a step S2020 executes block encoding. If the block encoding employs orthogonal transformation and quantization as in the JPEG encoding, the image is deteriorated by the non-reversible encoding.

[0201] If the step S2020 identifies that the data format is not in the attribute 2, the data format is identified as in the attribute 3 and the representative value of the tile is extracted (step S2030).

[0202] The foregoing process is repeated for all the tiles.

[0203] The above-described method can also be applied to the images of the resolution levels 1 to n.

[0204] As the watermark information is added in the present embodiment in the unit of a tile of M×N pixels, the watermark information is so selected that it is accommodated in a size of M×N pixels after enciphering and pattern development.

[0205] [Variation 3]

[0206] In the foregoing embodiment the encoding is not executed on the tile in which the watermark is inserted, but it is also possible to adopt encoding in so-called lossless encoding manner which does not result in the deterioration of the image quality. More specifically, the control means for encoding is so designed as to select a predetermined encoding method in case predetermined information is added.

[0207] Also, even for a same encoding method, there may be selected such an encoding parameter as to reduce the image quality deterioration by encoding. For example the deterioration of the image quality can be suppressed by controlling the quantizing parameter. More specifically, the control means for encoding may be so designed as to select a predetermined encoding parameter in case predetermined information is added.

[0208] The present invention may be applied to a part of a system consisting of plural equipment (for example host computer, interface devices, reader, printer etc.) or a part of an apparatus consisting of a single equipment (such as a copying machine or a facsimile apparatus).

[0209] Also the present invention is not limited to the apparatus or the method for realizing the aforementioned embodiments but also includes a case where program codes of a software for realizing the aforementioned embodiments are supplied to a computer (CPU or MPU) in the above-mentioned system or apparatus and the functions of the aforementioned embodiments are realized by the computer of the above-mentioned system or apparatus, which causes various devices to function according to such program codes.

[0210] In such case the program codes themselves of the software realize the functions of the aforementioned embodiments, and such program codes themselves and means for supplying the computer with such program codes, namely a storage medium storing the program codes are also included in the present invention.

[0211] The storage medium storing such program codes can be, for example, a floppy disk, a hard disk, an optical disk, a magnetooptical disk, a CD-ROM, a magnetic tape, a non-volatile memory card or a ROM.

[0212] The present invention also includes such program codes, not only in the case where the functions of the aforementioned embodiments are realized by the control of the above-mentioned computer on various devices according to the supplied program codes but also in a case where the program codes realize the aforementioned embodiments in cooperation with an operating system functioning on the computer or another application software.

[0213] The present invention further includes a case wherein the supplied program codes are once stored in a function expansion board of the computer or a memory provided in a function expansion unit connected to the computer, and a CPU or the like provided in the function expansion board or the function expansion unit executes all the process or a part thereof according to the instructions of such program codes, thereby realizing the functions of the aforementioned embodiments.

[0214] Though the image formats shown in FIGS. 2 to 5 are adopted in the foregoing embodiments, the present invention is not limited to such image formats but can also employ other image formats.

[0215] As explained in the foregoing, embodiments of the present invention can achieve, in adding predetermined information to the input image, image storage taking such addition of information into consideration. 

What is claimed is:
 1. An image processing apparatus comprising: division means for dividing an input image into plural areas; control means for controlling the storage format of image data representing the input image in the unit of the divided area; conversion means for converting said image data into said storage format; and addition means for adding predetermined information to said input image in the unit of said area.
 2. An image processing apparatus according to claim 1, wherein said addition means is adapted to add the predetermined information with a method variable according to the storage format of said image data.
 3. An image processing apparatus according to claim 1, wherein said addition means is adapted to add the predetermined information with an intensity variable according to the storage format of said image data.
 4. An image processing apparatus according to claim 1, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined storage format within said image data.
 5. An image processing apparatus according to claim 1, wherein said addition means is adapted to add said predetermined information in a completed form within said area.
 6. An image processing apparatus according to claim 1, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined color component within said image data.
 7. An image processing apparatus according to claim 1, wherein said addition means is adapted to add said predetermined information in a manner inconspicuous to the human eyes.
 8. An image processing apparatus comprising: division means for dividing an input image into plural areas; storage means for storing the input image in the unit of the divided area; and addition means for adding predetermined information to said input image in the unit of said area.
 9. An image processing apparatus according to claim 8, wherein said addition means is adapted to add the predetermined information with a method variable according to the storage format of the input image by said storage means.
 10. An image processing apparatus according to claim 8, wherein said addition means is adapted to add the predetermined information with an intensity variable according to the storage format of the input image by said storage means.
 11. An image processing apparatus according to claim 8, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined storage format within said input image.
 12. An image processing apparatus according to claim 8, wherein said addition means is adapted to add said predetermined information in a completed form within said area.
 13. An image processing apparatus according to claim 8, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined color component within the image data representing said input image.
 14. An image processing apparatus according to claim 8, wherein said addition means is adapted to add said predetermined information in a manner inconspicuous to the human eyes.
 15. An image processing method comprising steps of: dividing an input image into plural areas; controlling the storage format of image data representing the input image in the unit of the divided area; converting said image data into said storage format; and adding predetermined information to said input image in the unit of said area.
 16. An image processing method comprising steps of: dividing an input image into plural areas; storing the input image in the unit of the divided area; and adding predetermined information to said input image in the unit of said area.
 17. A computer readable storage medium storing a program for executing an image processing method for adding predetermined information to an input image, the program comprising: a division step of dividing an input image into plural areas; a selection step of selecting the storage format of the image data representing the input image, in the unit of the divided area; a conversion step of converting said image data into said storage format; and an addition step of adding predetermined information to said input image in the unit of said area.
 18. A computer storage medium storing a program for executing an image processing method for adding predetermined information to an input image, the program comprising: a division step of dividing an input image into plural areas; a storage step of storing the input image in the unit of the divided area; and an addition step of adding predetermined information to said input image in the unit of said area.
 19. An image processing apparatus comprising: generation means for generating plural image data of mutually different resolution levels, representing a same input image; and hiding means for hiding predetermined information in each of the images of said plural resolution levels in a manner inconspicuous to the human eyes.
 20. An image processing apparatus according to claim 19, wherein said hiding means is adapted to hide said predetermined information in an algorithm variable according to the resolution level of said image data.
 21. An image processing apparatus according to claim 19, wherein said hiding means is adapted to hide said predetermined information in an intensity variable according to the resolution level of said image data.
 22. An image processing apparatus according to claim 19, wherein said hiding means is adapted to select whether or not to hide said predetermined information according to the resolution level of said image data.
 23. An image processing apparatus according to claim 19, wherein said hiding means is adapted to select the content of said predetermined information according to the resolution level of said image data.
 24. An image processing apparatus according to claim 19, wherein said hiding means is adapted to control the amount of said predetermined information according to the resolution level of said image data.
 25. An image processing apparatus according to claim 19, wherein said hiding means is adapted to add predetermined information to the image data of a predetermined color component among said image data.
 26. An image processing method comprising steps of: generating plural image data of mutually different resolution levels, representing a same input image; and hiding predetermined information in each of the images of said plural resolution levels in a manner inconspicuous to the human eyes.
 27. A computer readable storage medium storing a program for executing an image processing method for adding predetermined information to an input image, the program comprising: a generation step of generating plural image data of mutually different resolution levels, representing a same input image; and a hiding step of adding predetermined information in each of the images of said plural resolution levels in a manner inconspicuous to the human eyes.
 28. An image processing apparatus comprising: addition means for adding predetermined information to an input image; encoding means for encoding said input image; and control means for controlling the encoding of said input image according to the addition state of said predetermined information.
 29. An image processing apparatus according to claim 28, wherein said addition means is adapted to add said predetermined information in the unit of a predetermined area.
 30. An image processing apparatus according to claim 28, wherein said addition means is adapted to add said predetermined information in a completed form within said area.
 31. An image processing apparatus according to claim 28, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined color component within said image data.
 32. An image processing apparatus according to claim 28, wherein said addition means is adapted to add said predetermined information in a manner inconspicuous to the human eyes.
 33. An image processing apparatus according to claim 28, wherein said control means is adapted to select a predetermined encoding method by said encoding means in case said predetermined information is added by said addition means.
 34. An image processing apparatus according to claim 33, wherein said predetermined encoding method is a lossless encoding.
 35. An image processing apparatus according to claim 28, wherein said control means is adapted to select a predetermined encoding parameter by said encoding means in case said predetermined information is added by said addition means.
 36. An image processing apparatus according to claim 35, wherein said predetermined encoding parameter is an encoding parameter involving little deterioration in the image quality in the encoding.
 37. An image processing apparatus according to claim 28, wherein said control means is adapted not to execute the encoding by said encoding means in case said predetermined information is added by said addition means.
 38. An image processing apparatus according to claim 28, wherein said control means is adapted to control the encoding by said encoding means in the unit of a predetermined block.
 39. An image processing method comprising steps of: adding predetermined information to an input image; encoding said input image; and controlling the encoding of said input image according to the addition state of said predetermined information.
 40. An image processing apparatus comprising: division means for dividing an input image into plural areas; storage control means for storing the input image in the unit of the area divided by said division means; and addition means for adding predetermined information to said input image in the unit of said area.
 41. An image processing apparatus according to claim 40, wherein said addition means is adapted to add said predetermined information in a completed form within said area.
 42. An image processing apparatus according to claim 40, wherein said addition means is adapted to add the predetermined information to the image data of a predetermined color component within said image data.
 43. An image processing apparatus according to claim 40, wherein said addition means is adapted to add said predetermined information in a manner inconspicuous to the human eyes.
 44. An image processing method comprising steps of: dividing an input image into plural areas; storing the input image in the unit of the divided area; and adding predetermined information to said input image in the unit of said area.
 45. A computer readable storage medium storing a program for executing an image processing method of adding predetermined information to an input image, the program comprising: an addition step of adding predetermined information to an input image; an encoding step of encoding said input image; and a control step of controlling the encoding of said input image according to the addition state of said predetermined information.
 46. A computer readable storage medium storing a program for executing an image processing method for adding predetermined information to an input image, the program comprising: a division step of dividing an input image into plural areas; a storage control step of storing the input image in the unit of the area divided by said division means; and an addition step of adding predetermined information to said input image in the unit of said area. 